package com.jy.wms.dao;


import com.jy.wms.common.base.BaseDao;
import com.jy.wms.pojo.WmsShelfRule;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName: WmsShelfRuleMapper.java
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @Author lh
 * @Date Mon Sep 04 11:27:58 GMT+08:00 2017
 */
public interface WmsShelfRuleMapper extends BaseDao<WmsShelfRule> {

    /**
     * 插入一条记录
     *
     * @param entity   实体对象
     * @param database 数据库名称
     * @return int
     */
    public Integer baseInsert(@Param("WmsShelfRule") WmsShelfRule entity, @Param("database") String database);

    /**
     * 插入一条记录（匹配有值的字段）
     *
     * @param entity   实体对象
     * @return int
     */
    public Integer baseInsertSelective(@Param("WmsShelfRule") WmsShelfRule entity);

    /**
     * 删除（根据主键ID删除）
     *
     * @param id       主键
     * @param database 数据库名称
     * @return int
     */
    public Integer baseDeleteByPrimaryKey(@Param("id") String id, @Param("database") String database);

    /**
     * 删除（根据ID 批量删除）
     *
     * @param idList   主键ID列表
     * @param database 数据库名称
     * @return int
     */
    public Integer baseDeleteBathPrimaryKeys(@Param("list") List<String> idList, @Param("database") String database);


    /**
     * 分页查询
     *
     * @param entity   实体
     * @return List<WmsShelfRule>
     */
    public List<WmsShelfRule> baseSelectPage(@Param("WmsShelfRule") WmsShelfRule entity,@Param("ckid")String ckid);

    /**
     * 查询所有信息
     * @return User
     */
    public List<WmsShelfRule> baseSelectAll(@Param("ckid")String ckid);

    /**
     * 查询（根据主键ID查询）
     *
     * @param id       主键ID
     * @param database 数据库名称
     * @return User
     */
    public WmsShelfRule baseSelectByPrimaryKey(@Param("id") String id, @Param("database") String database);

    /**
     * 查询（根据ID 批量查询）
     *
     * @param idList   主键ID列表
     * @param database 数据库名称
     * @return list
     */
    public Integer baseSelectBathPrimaryKeys(@Param("list") List<WmsShelfRule> idList, @Param("database") String database);

    /**
     * 修改 （匹配有值的字段）
     *
     * @param entity   主键ID列表
     * @param database 数据库名称
     * @return int
     */
    public Integer baseUpdateByPrimaryKeySelective(@Param("WmsShelfRule") WmsShelfRule entity, @Param("database") String database);

    /**
     * 修改（根据主键ID修改）
     *
     * @param entity   主键ID列表
     * @param database 数据库名称
     * @return int
     */
    public Integer baseUpdateByPrimaryKey(@Param("WmsShelfRule") WmsShelfRule entity, @Param("database") String database);

    /**
     * 根据名称查询数据库是否有相同规则名称的记录（去重）
     */
    public Integer getCountByMc(@Param("gzmc") String gzmc,@Param("gzdm") String gzdm,@Param("ckid")String ckid);

}
